#include "Ennemi.h"	
#include <iostream>

Ennemi::Ennemi(){
	tete=NULL;
}
Ennemi::~Ennemi(){
	if(tete!=NULL){
	delete tete;
	}
}

void Ennemi::ajouterExtraTerrestre(ExtraTerrestre* et){
	ListeMonstre* lm = new ListeMonstre(et);
	if(tete==NULL){
		tete = lm;	
	}
	else{
		ListeMonstre* courrant = tete;
		do{
			if(courrant->getSuivant()!=NULL){
				courrant = courrant->getSuivant();
			}		
		}while(courrant->getSuivant()!=NULL);
		courrant->ajouterExtraTerrestre(lm);
	}
	et->resetExtraTerrestre();
	et->putExtraTerrestre();
}

ExtraTerrestre* Ennemi::getExtraTerrestre(int nb){
	ListeMonstre* courrant = tete;
	ExtraTerrestre* extra = NULL;
	if(tete!=NULL){
		do{
		extra = courrant->getExtraTerrestre();
		if(extra->getNoExtra()==nb){
			break;
		}
		courrant = courrant->getSuivant();
		}while(courrant!=NULL);
	}
	return extra;
}

void Ennemi::retirerExtraTerrestre(int nb){
	ListeMonstre* courrant = tete;
	ExtraTerrestre* extra;
	if(tete!=NULL){
		do{
		extra = courrant->getExtraTerrestre();
		if(extra->getNoExtra()==nb){
			courrant = courrant->getSuivant();
			extra->removeExtraTerrestre();
			break;
		}	
		else{
			if(courrant->getSuivant()==NULL){
				if(extra->getNoExtra()==nb){
				courrant = NULL;
				extra->removeExtraTerrestre();
				break;
				}
			}
		}
		courrant = courrant->getSuivant();
		}while(courrant!=NULL);
	}
}
